Embodiments of the inventive concepts described herein relate to a method for analyzing performance of a network application program, an apparatus therefor, and a computer program therefor, and more particularly, relate to a method for analyzing performance of a network application program which operates at a controller in a software defined networking (SDN) environment.
SDN may refer to technology in which an intelligent central management system manages all network equipment of a network. A variety of functions may be developed and assigned in the SDN as compared with a conventional network structure by processing, by a controller provided in the form of software, a control operation associated with processing packets, performed in conventional network equipment of a hardware form.
In general, an SDN system may include a controller for controlling the entire network, a plurality of OpenFlow switches for being controlled by a controller server and processing packets, and a host corresponding to a lower layer of the OpenFlow switches. In this case, each of the OpenFlow switches may be responsible for only a transmission and reception function of packets, and path establishment, management, and control of packets may be achieved by the controller. In other words, to divide a data plane and a control plane configuring network equipment may be a basic structure of the SDN system.
The SDN may be represented as a 3-layer structure configured with an infrastructure layer, a control layer, and an application program layer. A data transmitter for performing L0 to L3 switch functions may be located in the infrastructure layer. A network controller for controlling a network operation using a global view for the entire network state and an application program for operating in an upper level may be located in the control and application program layers, respectively. Southbound interfaces and northbound interfaces may exist for interworking between layers. An SDN application program layer may include all types of application programs and services which accesses a network function provided from an SDN control layer via a north-bound application programming interface (API).
In this case, since a flow rule for controlling a network is transmitted from an application program, performance of the entire network may be greatly influenced by performance of the application program. For example, if the application program quickly generates the flow rule, since this means that a flow is quickly processed, the performance of the entire network may be increased.
As such, although the performance of the application program is very important in an SDN environment, there is no method for analyzing the performance of the application program and optimizing the performance of the application program.
Since the application program in the SDN environment differs in purpose and function from a conventional application program and since it has a great difference in performance based on a size of a network or the number of packets due to characteristics of a network program, it is difficult to apply profiling technology well known as a general method for analyzing performance of an application program to an analysis of performance of a network application program without change and it takes a long time to analyze the performance of the network application program.